
Manfred Rickenbocker
Pan Galactic Gargle Blasters Important Internet Spaceship League
|
Posted - 2011.02.07 22:19:00 -
[1]
Originally by: Axemaster Edited by: Axemaster on 07/02/2011 21:03:33 To be 100% honest, I am starting to wonder why CCP doesn't just commission a company to make a chip physically optimized to process these events (guns and missiles). I have a friend who works in the lab with me who designed a signal processor that can integrate pulses and find signal peaks in 50 nanoseconds per input event. It can do that because it's a custom chip.
Ideally, yes, perfectly, no. Your friend's chip is doing signal processing which scans a given data stream provided to it. DSP chips are very specific and typically operate on real time data. What CCP has is a database issue. As you will notice from the blog, the time lag comes from getting and setting data values for objects as well as scanning lists, both of which require fetches from database memory. Fetches from memory is incredibly more time consuming than reading from a buffer in a chip (not to mention they are different kinds of memory with different distances from the chip etc). Besides, peaks can be an incredibly easy thing to find in digital signals.
Originally by: Cergorach
Good work Dev team CCP, very impressive improvements with relatively simple (sounding) solutions. I'm not very well at home in Python, you can shoot me with some missiles if I say something really stupid. But how difficult is it to move the calculations to a separate treads or cores? I understand that the that wouldn't speed up the individual missiles, but generally speaking folks don't shoot a single missile and often many missiles are in the air at one time. Would the syncing of the data be a problem that the version of Phyton you currently use doesn't provide for?
If you do this, you can run into blocking conditions. You want to make sure that individual memory addresses aren't being read as they are written etc. Plus, the thread that they are writing is better off sequential as they have it: you want to make sure that all entities and graphics are complete before updating. Sending them through various threads wouldn't always help. Also thread overhead can be a bit of a ***** and they would probably have to recode from scratch a good portion of their code. That is conjecture of course, but having a database update take only .08ms though to begin with, that's impressive in and of itself!
Personally, I, too, would love to see updates on how the drone mechanics are being furthered. Hopefully if they can hop those up on caffeine like they did with missiles, they might be able to squeeze some decent and responsive AI on board as well. Well behaved drones = best drones. ------------------------ Peace through superior firepower: a guiding principle for uncertain times. |